package com.czy;

import java.io.File;

/**
 * 批量修改文件和文件夹名称
 * @Author: czy
 * @Date: 2019/10/10 8:49
 */
public class ChangeFileName {
    public static void main(String[] args) {
        File file = new File("G:\\视频\\阶段5.5  十次方\\十次方资料");
        recursion(file);
    }

    /**
     * 递归调用
     * @param file
     */
    public static void recursion(File file){
        //文件存在并且是文件夹则遍历
        if (file.isDirectory()){
            File[] files = file.listFiles();
            for (File childFile : files) {
                if (childFile.isFile()){
                    //是文件则直接改名
                    changeFileName(childFile);
                }else{
                    //如果是文件夹则递归修改文件名
                    recursion(childFile);
                    //文件名称修改完最后再修改文件夹名称,
                    changeFileName(childFile);
                }
            }
        }
    }

    /**
     * 修改文件名称
     * @param file
     */
    public static void changeFileName(File file){
        if (file.getName().contains("【") && file.getName().contains("】")){
            String newName=file.getParent()+"\\"+file.getName().replaceAll("【.*】","");
            if (file.renameTo(new File(newName))){
                System.err.println("修改名字成功");
            }else{
                System.err.println(file.getName()+"修改名称失败");
            }
        }
    }
}
